<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>xilsfl: overview</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">xilsfl
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;"
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__xilsfl.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">overview</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_sfl___msg.html">XSfl_Msg</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for a flash message.  <a href="struct_x_sfl___msg.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_sfl___flash_info.html">XSfl_FlashInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for the flash device.  <a href="struct_x_sfl___flash_info.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_sfl___cntrl_info.html">XSfl_CntrlInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for the device.  <a href="struct_x_sfl___cntrl_info.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains interface information for a sfl library.  <a href="struct_x_sfl___interface.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_sfl.html">XSfl</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains information of the sfl library.  <a href="struct_x_sfl.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">union &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="union_x_sfl___user_config.html">XSfl_UserConfig</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for a flash/controller device.  <a href="union_x_sfl___user_config.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_flash_info.html">XFlashInfo</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for a flash Device.  <a href="struct_x_flash_info.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga1ba0f94d6031764207013da22aaa3fae"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga1ba0f94d6031764207013da22aaa3fae">XSFL_RXADDR_OVER_32BIT</a>&#160;&#160;&#160;0x100000000U</td></tr>
<tr class="memdesc:ga1ba0f94d6031764207013da22aaa3fae"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rx address over 32 bit.  <a href="#ga1ba0f94d6031764207013da22aaa3fae">More...</a><br/></td></tr>
<tr class="separator:ga1ba0f94d6031764207013da22aaa3fae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3fa3d134bdb3bcbc4b1c55ce92e55602"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga3fa3d134bdb3bcbc4b1c55ce92e55602">XSFL_CONFIG_REG2_VOLATILE_ADDR_MX</a>&#160;&#160;&#160;0x00000300</td></tr>
<tr class="memdesc:ga3fa3d134bdb3bcbc4b1c55ce92e55602"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controller Type.  <a href="#ga3fa3d134bdb3bcbc4b1c55ce92e55602">More...</a><br/></td></tr>
<tr class="separator:ga3fa3d134bdb3bcbc4b1c55ce92e55602"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaeed79c966ab6be378b99780d590b7529"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gaeed79c966ab6be378b99780d590b7529">XSFL_OSPI_CNTRL</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:gaeed79c966ab6be378b99780d590b7529"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flag to use DMA or not.  <a href="#gaeed79c966ab6be378b99780d590b7529">More...</a><br/></td></tr>
<tr class="separator:gaeed79c966ab6be378b99780d590b7529"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf127a84afb0c66b1acfe91a00fed4410"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gaf127a84afb0c66b1acfe91a00fed4410">XSFL_BROKEN_DMA</a>&#160;&#160;&#160;0x01</td></tr>
<tr class="memdesc:gaf127a84afb0c66b1acfe91a00fed4410"><td class="mdescLeft">&#160;</td><td class="mdescRight">Max Byte count in Stig Mode.  <a href="#gaf127a84afb0c66b1acfe91a00fed4410">More...</a><br/></td></tr>
<tr class="separator:gaf127a84afb0c66b1acfe91a00fed4410"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga26281510c88dd6eb9dc00be3d13c7451"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga26281510c88dd6eb9dc00be3d13c7451">XILSFL_CONTROL_H</a></td></tr>
<tr class="memdesc:ga26281510c88dd6eb9dc00be3d13c7451"><td class="mdescLeft">&#160;</td><td class="mdescRight">&lt; prevent circular inclusions  <a href="#ga26281510c88dd6eb9dc00be3d13c7451">More...</a><br/></td></tr>
<tr class="separator:ga26281510c88dd6eb9dc00be3d13c7451"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:gab3c547fa045d3b91a7c0d6c3a16f6fc1"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead</a> (<a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *SflInstancePtr, u8 ChipSelNum, u8 *SflReadBuffer)</td></tr>
<tr class="memdesc:gab3c547fa045d3b91a7c0d6c3a16f6fc1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads the flash ID and identifies the flash in FCT table.  <a href="#gab3c547fa045d3b91a7c0d6c3a16f6fc1">More...</a><br/></td></tr>
<tr class="separator:gab3c547fa045d3b91a7c0d6c3a16f6fc1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3117ca4afac19f594039caade68a1466"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga3117ca4afac19f594039caade68a1466">XSfl_CalculateFCTIndex</a> (u32 ReadId, u32 *FCTIndex)</td></tr>
<tr class="memdesc:ga3117ca4afac19f594039caade68a1466"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function used to Identifies the flash in FCT table.  <a href="#ga3117ca4afac19f594039caade68a1466">More...</a><br/></td></tr>
<tr class="separator:ga3117ca4afac19f594039caade68a1466"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef8179e349f43448cf7a3d7b061b1408"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode</a> (<a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *SflInstancePtr, int Mode, u8 *SflReadBuffer)</td></tr>
<tr class="memdesc:gaef8179e349f43448cf7a3d7b061b1408"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API enters the flash device into Octal DDR mode or exit from octal DDR mode (switches to Extended SPI mode).  <a href="#gaef8179e349f43448cf7a3d7b061b1408">More...</a><br/></td></tr>
<tr class="separator:gaef8179e349f43448cf7a3d7b061b1408"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab1ba16e9c7b118d9436d779c254916ca"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gab1ba16e9c7b118d9436d779c254916ca">XSfl_FlashEnterExit4BAddMode</a> (<a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *SflInstancePtr, int Enable, u8 ChipSelNum)</td></tr>
<tr class="memdesc:gab1ba16e9c7b118d9436d779c254916ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API enters the flash device into 4 bytes addressing mode.  <a href="#gab1ba16e9c7b118d9436d779c254916ca">More...</a><br/></td></tr>
<tr class="separator:gab1ba16e9c7b118d9436d779c254916ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5db7bb11b2fc937b06a37b5e0e4b29a7"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga5db7bb11b2fc937b06a37b5e0e4b29a7">XSfl_GetRealAddr</a> (<a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *SflInstancePtr, u32 Address)</td></tr>
<tr class="memdesc:ga5db7bb11b2fc937b06a37b5e0e4b29a7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This functions translates the address based on the type of interconnection.  <a href="#ga5db7bb11b2fc937b06a37b5e0e4b29a7">More...</a><br/></td></tr>
<tr class="separator:ga5db7bb11b2fc937b06a37b5e0e4b29a7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf862581219f7242e0affc2f270c82c2"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase</a> (<a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *SflInstancePtr, u32 Address)</td></tr>
<tr class="memdesc:gadf862581219f7242e0affc2f270c82c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function used to erase the sectors of the serial nor flash connected to the specific interface.  <a href="#gadf862581219f7242e0affc2f270c82c2">More...</a><br/></td></tr>
<tr class="separator:gadf862581219f7242e0affc2f270c82c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac66a63ff325a29a34bb794facae9532e"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite</a> (<a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *SflInstancePtr, u32 Address, u32 ByteCount, u8 *WriteBfrPtr)</td></tr>
<tr class="memdesc:gac66a63ff325a29a34bb794facae9532e"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes to the serial nor flash connected to the specific interface.  <a href="#gac66a63ff325a29a34bb794facae9532e">More...</a><br/></td></tr>
<tr class="separator:gac66a63ff325a29a34bb794facae9532e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga665675fe0b9996bed72aaca43f801e89"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess</a> (<a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *SflInstancePtr, u32 Address, u32 ByteCount, u8 *ReadBfrPtr, u64 RxAddr64bit)</td></tr>
<tr class="memdesc:ga665675fe0b9996bed72aaca43f801e89"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs read from the serial nor flash connected to specific interface.  <a href="#ga665675fe0b9996bed72aaca43f801e89">More...</a><br/></td></tr>
<tr class="separator:ga665675fe0b9996bed72aaca43f801e89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga13d18f695b6fbba7a9c799d6f036cb05"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga13d18f695b6fbba7a9c799d6f036cb05">XSfl_FlashTransferDone</a> (<a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *SflInstancePtr)</td></tr>
<tr class="memdesc:ga13d18f695b6fbba7a9c799d6f036cb05"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function used to check read completion status the serial Flash connected to the Specific interface.  <a href="#ga13d18f695b6fbba7a9c799d6f036cb05">More...</a><br/></td></tr>
<tr class="separator:ga13d18f695b6fbba7a9c799d6f036cb05"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga93a864b058c078efaa24b42110a616b0"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone</a> (<a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *SflInstancePtr)</td></tr>
<tr class="memdesc:ga93a864b058c078efaa24b42110a616b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API can be used to read status of the flash status register.  <a href="#ga93a864b058c078efaa24b42110a616b0">More...</a><br/></td></tr>
<tr class="separator:ga93a864b058c078efaa24b42110a616b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad43f7ae3c8e3ec11631b4a3e9443abcd"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite</a> (<a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *SflInstancePtr, u8 *RxBfrPtr, u8 *TxBfrPtr, u32 *CmdBufferPtr, u8 Addrvalid)</td></tr>
<tr class="memdesc:gad43f7ae3c8e3ec11631b4a3e9443abcd"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API can be used to Read/write to a flash register.  <a href="#gad43f7ae3c8e3ec11631b4a3e9443abcd">More...</a><br/></td></tr>
<tr class="separator:gad43f7ae3c8e3ec11631b4a3e9443abcd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae7d287a9ac84fa27612bfe2104d91819"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer</a> (<a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *SflInstancePtr, u8 Cmd)</td></tr>
<tr class="memdesc:gae7d287a9ac84fa27612bfe2104d91819"><td class="mdescLeft">&#160;</td><td class="mdescRight">This API can be used to transfer the command to the flash.  <a href="#gae7d287a9ac84fa27612bfe2104d91819">More...</a><br/></td></tr>
<tr class="separator:gae7d287a9ac84fa27612bfe2104d91819"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8c62ceb6e67539fb6d9a3ebe110dd1b3"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess</a> (<a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *SflInstancePtr, u32 Address, u32 ByteCount, u8 *ReadBfrPtr, u64 RxAddr64bit)</td></tr>
<tr class="memdesc:ga8c62ceb6e67539fb6d9a3ebe110dd1b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs non-blocking read from the serial nor flash connected to specific interface.  <a href="#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">More...</a><br/></td></tr>
<tr class="separator:ga8c62ceb6e67539fb6d9a3ebe110dd1b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ga857e87a3ce1d3539abd1a4c485ace65a"><td class="memItemLeft" align="right" valign="top">u64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga857e87a3ce1d3539abd1a4c485ace65a">XSfl_Msg::RxAddr64bit</a></td></tr>
<tr class="memdesc:ga857e87a3ce1d3539abd1a4c485ace65a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Provide 64-bit read address for 32-bit platform.  <a href="#ga857e87a3ce1d3539abd1a4c485ace65a">More...</a><br/></td></tr>
<tr class="separator:ga857e87a3ce1d3539abd1a4c485ace65a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0aaf9cdfa888bb10e62abbc77feea088"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga0aaf9cdfa888bb10e62abbc77feea088">XSfl_Msg::ByteCount</a></td></tr>
<tr class="memdesc:ga0aaf9cdfa888bb10e62abbc77feea088"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of bytes to read or write.  <a href="#ga0aaf9cdfa888bb10e62abbc77feea088">More...</a><br/></td></tr>
<tr class="separator:ga0aaf9cdfa888bb10e62abbc77feea088"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac1c48155b607da578d432d697249e702"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gac1c48155b607da578d432d697249e702">XSfl_Msg::Addr</a></td></tr>
<tr class="memdesc:gac1c48155b607da578d432d697249e702"><td class="mdescLeft">&#160;</td><td class="mdescRight">Device Address.  <a href="#gac1c48155b607da578d432d697249e702">More...</a><br/></td></tr>
<tr class="separator:gac1c48155b607da578d432d697249e702"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga969f1c20ce715974afed66a0f96cc8fb"><td class="memItemLeft" align="right" valign="top">u8 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga969f1c20ce715974afed66a0f96cc8fb">XSfl_Msg::TxBfrPtr</a></td></tr>
<tr class="memdesc:ga969f1c20ce715974afed66a0f96cc8fb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write buffer pointer.  <a href="#ga969f1c20ce715974afed66a0f96cc8fb">More...</a><br/></td></tr>
<tr class="separator:ga969f1c20ce715974afed66a0f96cc8fb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9cf6ea17dbe8ad48845b03e6591435ff"><td class="memItemLeft" align="right" valign="top">u8 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga9cf6ea17dbe8ad48845b03e6591435ff">XSfl_Msg::RxBfrPtr</a></td></tr>
<tr class="memdesc:ga9cf6ea17dbe8ad48845b03e6591435ff"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read buffer pointer.  <a href="#ga9cf6ea17dbe8ad48845b03e6591435ff">More...</a><br/></td></tr>
<tr class="separator:ga9cf6ea17dbe8ad48845b03e6591435ff"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae9b81ed42e5d9d188dcb7ca2e3b930d5"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gae9b81ed42e5d9d188dcb7ca2e3b930d5">XSfl_Msg::Opcode</a></td></tr>
<tr class="memdesc:gae9b81ed42e5d9d188dcb7ca2e3b930d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Opcode/Command.  <a href="#gae9b81ed42e5d9d188dcb7ca2e3b930d5">More...</a><br/></td></tr>
<tr class="separator:gae9b81ed42e5d9d188dcb7ca2e3b930d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga68fa3b7667ab72139e2e6872bca2c614"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga68fa3b7667ab72139e2e6872bca2c614">XSfl_Msg::Dummy</a></td></tr>
<tr class="memdesc:ga68fa3b7667ab72139e2e6872bca2c614"><td class="mdescLeft">&#160;</td><td class="mdescRight">Number of dummy cycles for opcode.  <a href="#ga68fa3b7667ab72139e2e6872bca2c614">More...</a><br/></td></tr>
<tr class="separator:ga68fa3b7667ab72139e2e6872bca2c614"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5cb4882d5fd9d67c8061759327734df9"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga5cb4882d5fd9d67c8061759327734df9">XSfl_Msg::Xfer64bit</a></td></tr>
<tr class="memdesc:ga5cb4882d5fd9d67c8061759327734df9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set to 1 when reading from 64-bit addr otherwise 0.  <a href="#ga5cb4882d5fd9d67c8061759327734df9">More...</a><br/></td></tr>
<tr class="separator:ga5cb4882d5fd9d67c8061759327734df9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga43eded5844e9e26ae779ea9517d94da3"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga43eded5844e9e26ae779ea9517d94da3">XSfl_Msg::DualByteOpCode</a></td></tr>
<tr class="memdesc:ga43eded5844e9e26ae779ea9517d94da3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extended opcode in dual-byte opcode mode.  <a href="#ga43eded5844e9e26ae779ea9517d94da3">More...</a><br/></td></tr>
<tr class="separator:ga43eded5844e9e26ae779ea9517d94da3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga17743aa6d48afbdf0f60beb7eb061aa8"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga17743aa6d48afbdf0f60beb7eb061aa8">XSfl_Msg::Addrsize</a></td></tr>
<tr class="memdesc:ga17743aa6d48afbdf0f60beb7eb061aa8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of address in bytes.  <a href="#ga17743aa6d48afbdf0f60beb7eb061aa8">More...</a><br/></td></tr>
<tr class="separator:ga17743aa6d48afbdf0f60beb7eb061aa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac9e0ab7a825b0814d87e950abd5beee3"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gac9e0ab7a825b0814d87e950abd5beee3">XSfl_Msg::Addrvalid</a></td></tr>
<tr class="memdesc:gac9e0ab7a825b0814d87e950abd5beee3"><td class="mdescLeft">&#160;</td><td class="mdescRight">1 if Address is required for opcode, 0 otherwise  <a href="#gac9e0ab7a825b0814d87e950abd5beee3">More...</a><br/></td></tr>
<tr class="separator:gac9e0ab7a825b0814d87e950abd5beee3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0719815f6ede45c39a438ac3165ddbe"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gad0719815f6ede45c39a438ac3165ddbe">XSfl_Msg::Proto</a></td></tr>
<tr class="memdesc:gad0719815f6ede45c39a438ac3165ddbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicate number of Cmd-Addr-Data lines.  <a href="#gad0719815f6ede45c39a438ac3165ddbe">More...</a><br/></td></tr>
<tr class="separator:gad0719815f6ede45c39a438ac3165ddbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65accbdd9e7b1d41ddfeffdd7e530079"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a></td></tr>
<tr class="memdesc:ga65accbdd9e7b1d41ddfeffdd7e530079"><td class="mdescLeft">&#160;</td><td class="mdescRight">Index in the flash_info structure.  <a href="#ga65accbdd9e7b1d41ddfeffdd7e530079">More...</a><br/></td></tr>
<tr class="separator:ga65accbdd9e7b1d41ddfeffdd7e530079"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b1fed97e76cc47f847b4474c16bed1d"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga2b1fed97e76cc47f847b4474c16bed1d">XSfl_FlashInfo::ConnectionMode</a></td></tr>
<tr class="memdesc:ga2b1fed97e76cc47f847b4474c16bed1d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of connection (single/stacked/parallel)  <a href="#ga2b1fed97e76cc47f847b4474c16bed1d">More...</a><br/></td></tr>
<tr class="separator:ga2b1fed97e76cc47f847b4474c16bed1d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86974e7a9e8f166bb84cba62ceb577d6"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga86974e7a9e8f166bb84cba62ceb577d6">XSfl_FlashInfo::FlashMake</a></td></tr>
<tr class="memdesc:ga86974e7a9e8f166bb84cba62ceb577d6"><td class="mdescLeft">&#160;</td><td class="mdescRight">vendor info  <a href="#ga86974e7a9e8f166bb84cba62ceb577d6">More...</a><br/></td></tr>
<tr class="separator:ga86974e7a9e8f166bb84cba62ceb577d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga65bb1fd23521f30fc4336541acf5dc84"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga65bb1fd23521f30fc4336541acf5dc84">XSfl_FlashInfo::AddrSize</a></td></tr>
<tr class="memdesc:ga65bb1fd23521f30fc4336541acf5dc84"><td class="mdescLeft">&#160;</td><td class="mdescRight">Size of address in bytes.  <a href="#ga65bb1fd23521f30fc4336541acf5dc84">More...</a><br/></td></tr>
<tr class="separator:ga65bb1fd23521f30fc4336541acf5dc84"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ca3bd52694e8e1c1b2634b8a046f296"><td class="memItemLeft" align="right" valign="top">u32 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga7ca3bd52694e8e1c1b2634b8a046f296">XSfl_CntrlInfo::DeviceIdData</a></td></tr>
<tr class="memdesc:ga7ca3bd52694e8e1c1b2634b8a046f296"><td class="mdescLeft">&#160;</td><td class="mdescRight">Contains Device Id Data information.  <a href="#ga7ca3bd52694e8e1c1b2634b8a046f296">More...</a><br/></td></tr>
<tr class="separator:ga7ca3bd52694e8e1c1b2634b8a046f296"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga271fefe6ac78f6570cd0ef022062fce8"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga271fefe6ac78f6570cd0ef022062fce8">XSfl_CntrlInfo::OpMode</a></td></tr>
<tr class="memdesc:ga271fefe6ac78f6570cd0ef022062fce8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operating Mode DAC or INDAC.  <a href="#ga271fefe6ac78f6570cd0ef022062fce8">More...</a><br/></td></tr>
<tr class="separator:ga271fefe6ac78f6570cd0ef022062fce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac2428febb31ae963321941405c4b7a2a"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gac2428febb31ae963321941405c4b7a2a">XSfl_CntrlInfo::RefClockHz</a></td></tr>
<tr class="memdesc:gac2428febb31ae963321941405c4b7a2a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Input clock frequency.  <a href="#gac2428febb31ae963321941405c4b7a2a">More...</a><br/></td></tr>
<tr class="separator:gac2428febb31ae963321941405c4b7a2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaca9d4c05b1c7cd749f4b3c36f444e721"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gaca9d4c05b1c7cd749f4b3c36f444e721">XSfl_CntrlInfo::DeviceId</a></td></tr>
<tr class="memdesc:gaca9d4c05b1c7cd749f4b3c36f444e721"><td class="mdescLeft">&#160;</td><td class="mdescRight">ID of controller device.  <a href="#gaca9d4c05b1c7cd749f4b3c36f444e721">More...</a><br/></td></tr>
<tr class="separator:gaca9d4c05b1c7cd749f4b3c36f444e721"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga80c8f73ea1e75741aa26deb7a37e672e"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga80c8f73ea1e75741aa26deb7a37e672e">XSfl_CntrlInfo::ChipSelectNum</a></td></tr>
<tr class="memdesc:ga80c8f73ea1e75741aa26deb7a37e672e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Chip select information.  <a href="#ga80c8f73ea1e75741aa26deb7a37e672e">More...</a><br/></td></tr>
<tr class="separator:ga80c8f73ea1e75741aa26deb7a37e672e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5d0c450d24cd4a45386ee599c73b041b"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga5d0c450d24cd4a45386ee599c73b041b">XSfl_CntrlInfo::SdrDdrMode</a></td></tr>
<tr class="memdesc:ga5d0c450d24cd4a45386ee599c73b041b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Edge mode can be SDR or DDR.  <a href="#ga5d0c450d24cd4a45386ee599c73b041b">More...</a><br/></td></tr>
<tr class="separator:ga5d0c450d24cd4a45386ee599c73b041b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad2b4233a4484e6936c81604d18d72842"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gad2b4233a4484e6936c81604d18d72842">XSfl_CntrlInfo::CntrlType</a></td></tr>
<tr class="memdesc:gad2b4233a4484e6936c81604d18d72842"><td class="mdescLeft">&#160;</td><td class="mdescRight">Type of the interface controller.  <a href="#gad2b4233a4484e6936c81604d18d72842">More...</a><br/></td></tr>
<tr class="separator:gad2b4233a4484e6936c81604d18d72842"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9213857622e5305c1fa626fd922ef4de"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga9213857622e5305c1fa626fd922ef4de">XSfl_CntrlInfo::BusWidth</a></td></tr>
<tr class="memdesc:ga9213857622e5305c1fa626fd922ef4de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bus width available on board.  <a href="#ga9213857622e5305c1fa626fd922ef4de">More...</a><br/></td></tr>
<tr class="separator:ga9213857622e5305c1fa626fd922ef4de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac58f833e6012a03cb303d50c5dec71c"><td class="memItemLeft" align="right" valign="top">u32(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gaac58f833e6012a03cb303d50c5dec71c">XSfl_CntrlInfo::RxTunning</a> )()</td></tr>
<tr class="memdesc:gaac58f833e6012a03cb303d50c5dec71c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback reference for Rx tuning.  <a href="#gaac58f833e6012a03cb303d50c5dec71c">More...</a><br/></td></tr>
<tr class="separator:gaac58f833e6012a03cb303d50c5dec71c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3653d9517685c0f1dc44381e7aa838d4"><td class="memItemLeft" align="right" valign="top">u32(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga3653d9517685c0f1dc44381e7aa838d4">XSfl_CntrlInfo::SelectFlash</a> )(u8 ChipSelNum)</td></tr>
<tr class="memdesc:ga3653d9517685c0f1dc44381e7aa838d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback reference for chip select.  <a href="#ga3653d9517685c0f1dc44381e7aa838d4">More...</a><br/></td></tr>
<tr class="separator:ga3653d9517685c0f1dc44381e7aa838d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9bd49b340366873d2eab07540b3fdb24"><td class="memItemLeft" align="right" valign="top">u32(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga9bd49b340366873d2eab07540b3fdb24">XSfl_CntrlInfo::Transfer</a> )(u8 Index, <a class="el" href="struct_x_sfl___msg.html">XSfl_Msg</a> *SflMsg)</td></tr>
<tr class="memdesc:ga9bd49b340366873d2eab07540b3fdb24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback reference for interface transfer function.  <a href="#ga9bd49b340366873d2eab07540b3fdb24">More...</a><br/></td></tr>
<tr class="separator:ga9bd49b340366873d2eab07540b3fdb24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae2fd5b368e65be45fcb1cb25e75724c2"><td class="memItemLeft" align="right" valign="top">u32(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gae2fd5b368e65be45fcb1cb25e75724c2">XSfl_CntrlInfo::NonBlockingTransfer</a> )(u8 Index, <a class="el" href="struct_x_sfl___msg.html">XSfl_Msg</a> *SflMsg)</td></tr>
<tr class="memdesc:gae2fd5b368e65be45fcb1cb25e75724c2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback reference for interface non blocking transfer function.  <a href="#gae2fd5b368e65be45fcb1cb25e75724c2">More...</a><br/></td></tr>
<tr class="separator:gae2fd5b368e65be45fcb1cb25e75724c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa38215973879979802977ce95a4fd17e"><td class="memItemLeft" align="right" valign="top">u32(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gaa38215973879979802977ce95a4fd17e">XSfl_CntrlInfo::SetSdrDdr</a> )(u8 Mode, u8 DualByteOpCode)</td></tr>
<tr class="memdesc:gaa38215973879979802977ce95a4fd17e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback reference for controller configs.  <a href="#gaa38215973879979802977ce95a4fd17e">More...</a><br/></td></tr>
<tr class="separator:gaa38215973879979802977ce95a4fd17e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga89e6763341befc1eeb12d3e057cba16c"><td class="memItemLeft" align="right" valign="top">u32(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga89e6763341befc1eeb12d3e057cba16c">XSfl_CntrlInfo::TransferDone</a> )(u8 Index)</td></tr>
<tr class="memdesc:ga89e6763341befc1eeb12d3e057cba16c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback reference for flash read status.  <a href="#ga89e6763341befc1eeb12d3e057cba16c">More...</a><br/></td></tr>
<tr class="separator:ga89e6763341befc1eeb12d3e057cba16c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaffec8c86f0cf87f0a2fcf1480690a3de"><td class="memItemLeft" align="right" valign="top">u32(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gaffec8c86f0cf87f0a2fcf1480690a3de">XSfl_CntrlInfo::DeviceReset</a> )(u8 Type)</td></tr>
<tr class="memdesc:gaffec8c86f0cf87f0a2fcf1480690a3de"><td class="mdescLeft">&#160;</td><td class="mdescRight">Callback reference for Device reset.  <a href="#gaffec8c86f0cf87f0a2fcf1480690a3de">More...</a><br/></td></tr>
<tr class="separator:gaffec8c86f0cf87f0a2fcf1480690a3de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac82ef8bb1b4d6639ed17518cdfc6e395"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_sfl___cntrl_info.html">XSfl_CntrlInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a></td></tr>
<tr class="memdesc:gac82ef8bb1b4d6639ed17518cdfc6e395"><td class="mdescLeft">&#160;</td><td class="mdescRight">Controller specific information.  <a href="#gac82ef8bb1b4d6639ed17518cdfc6e395">More...</a><br/></td></tr>
<tr class="separator:gac82ef8bb1b4d6639ed17518cdfc6e395"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6fcc947f54fa33e7d30718c13e3fef8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="struct_x_sfl___flash_info.html">XSfl_FlashInfo</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a></td></tr>
<tr class="memdesc:gaf6fcc947f54fa33e7d30718c13e3fef8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Flash Specific information.  <a href="#gaf6fcc947f54fa33e7d30718c13e3fef8">More...</a><br/></td></tr>
<tr class="separator:gaf6fcc947f54fa33e7d30718c13e3fef8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga63eff4dd6fc25bcc1519051e1ab61f50"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga63eff4dd6fc25bcc1519051e1ab61f50">XSfl_Interface::Quirks</a></td></tr>
<tr class="memdesc:ga63eff4dd6fc25bcc1519051e1ab61f50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Quirks to handle specific use cases.  <a href="#ga63eff4dd6fc25bcc1519051e1ab61f50">More...</a><br/></td></tr>
<tr class="separator:ga63eff4dd6fc25bcc1519051e1ab61f50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97427cb9e16fcbc7bb3d6123d8b5c7cf"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga97427cb9e16fcbc7bb3d6123d8b5c7cf">XSfl_UserConfig::Ospi_Conig::BaseAddress</a></td></tr>
<tr class="memdesc:ga97427cb9e16fcbc7bb3d6123d8b5c7cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Base address of the device.  <a href="#ga97427cb9e16fcbc7bb3d6123d8b5c7cf">More...</a><br/></td></tr>
<tr class="separator:ga97427cb9e16fcbc7bb3d6123d8b5c7cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaadf09ce84208bf8485a1e8c9a1ccb6d1"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gaadf09ce84208bf8485a1e8c9a1ccb6d1">XSfl_UserConfig::Ospi_Conig::ReadMode</a></td></tr>
<tr class="memdesc:gaadf09ce84208bf8485a1e8c9a1ccb6d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Operating Mode DAC or INDAC.  <a href="#gaadf09ce84208bf8485a1e8c9a1ccb6d1">More...</a><br/></td></tr>
<tr class="separator:gaadf09ce84208bf8485a1e8c9a1ccb6d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5f67e619e340c591632091db200a588a"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga5f67e619e340c591632091db200a588a">XSfl_UserConfig::Ospi_Conig::ChipSelect</a></td></tr>
<tr class="memdesc:ga5f67e619e340c591632091db200a588a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Chip select information.  <a href="#ga5f67e619e340c591632091db200a588a">More...</a><br/></td></tr>
<tr class="separator:ga5f67e619e340c591632091db200a588a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga230dd8d5024d6fe7d75759d0198477d1"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga230dd8d5024d6fe7d75759d0198477d1">XSfl_UserConfig::Ospi_Conig::Quirks</a></td></tr>
<tr class="memdesc:ga230dd8d5024d6fe7d75759d0198477d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Quirks to handle specific use cases.  <a href="#ga230dd8d5024d6fe7d75759d0198477d1">More...</a><br/></td></tr>
<tr class="separator:ga230dd8d5024d6fe7d75759d0198477d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fed439badd48ed2aa4d51f431a1d627"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga6fed439badd48ed2aa4d51f431a1d627">XFlashInfo::Proto</a></td></tr>
<tr class="memdesc:ga6fed439badd48ed2aa4d51f431a1d627"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicate number of Cmd-Addr-Data lines.  <a href="#ga6fed439badd48ed2aa4d51f431a1d627">More...</a><br/></td></tr>
<tr class="separator:ga6fed439badd48ed2aa4d51f431a1d627"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga588462fc977e39765295b5b172059935"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga588462fc977e39765295b5b172059935">XFlashInfo::SdrMaxFreq</a></td></tr>
<tr class="memdesc:ga588462fc977e39765295b5b172059935"><td class="mdescLeft">&#160;</td><td class="mdescRight">Max support frequency of flash in SDR mode.  <a href="#ga588462fc977e39765295b5b172059935">More...</a><br/></td></tr>
<tr class="separator:ga588462fc977e39765295b5b172059935"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad8b7dcd605ed15ee80295dbe7278438c"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gad8b7dcd605ed15ee80295dbe7278438c">XFlashInfo::FSRFlag</a></td></tr>
<tr class="memdesc:gad8b7dcd605ed15ee80295dbe7278438c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates Flag Status Register.  <a href="#gad8b7dcd605ed15ee80295dbe7278438c">More...</a><br/></td></tr>
<tr class="separator:gad8b7dcd605ed15ee80295dbe7278438c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64143914205edd0597624a36ae2441a3"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga64143914205edd0597624a36ae2441a3">XFlashInfo::ExtOpCodeType</a></td></tr>
<tr class="memdesc:ga64143914205edd0597624a36ae2441a3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Extended opcode in dual-byte opcode mode.  <a href="#ga64143914205edd0597624a36ae2441a3">More...</a><br/></td></tr>
<tr class="separator:ga64143914205edd0597624a36ae2441a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga088f114969ecee72f82ee807c25adcfb"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga088f114969ecee72f82ee807c25adcfb">XFlashInfo::FlashType</a></td></tr>
<tr class="memdesc:ga088f114969ecee72f82ee807c25adcfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Indicates the type of the flash device.  <a href="#ga088f114969ecee72f82ee807c25adcfb">More...</a><br/></td></tr>
<tr class="separator:ga088f114969ecee72f82ee807c25adcfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Dual Byte opcode selection</h2></td></tr>
<tr class="memitem:gab205ac473b0e82e74c430c729a3ed465"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gab205ac473b0e82e74c430c729a3ed465">XSFL_DUAL_BYTE_OP_DISABLE</a>&#160;&#160;&#160;0x00</td></tr>
<tr class="memdesc:gab205ac473b0e82e74c430c729a3ed465"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to enable/disable Dual Byte opcode.  <a href="#gab205ac473b0e82e74c430c729a3ed465">More...</a><br/></td></tr>
<tr class="separator:gab205ac473b0e82e74c430c729a3ed465"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc2c6f5bb15b179dc6c3f05a5a21996d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gafc2c6f5bb15b179dc6c3f05a5a21996d"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_DUAL_BYTE_OP_INVERT</b>&#160;&#160;&#160;0x01</td></tr>
<tr class="separator:gafc2c6f5bb15b179dc6c3f05a5a21996d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga38a04bd709c18347d58528e7bf691429"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga38a04bd709c18347d58528e7bf691429"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_DUAL_BYTE_OP_SAME</b>&#160;&#160;&#160;0x02</td></tr>
<tr class="separator:ga38a04bd709c18347d58528e7bf691429"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Edge mode selection</h2></td></tr>
<tr class="memitem:ga4ea6e8d1cf783a147ec91938bc674f87"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga4ea6e8d1cf783a147ec91938bc674f87">XSFL_EDGE_MODE_SDR_PHY</a>&#160;&#160;&#160;0x0U</td></tr>
<tr class="memdesc:ga4ea6e8d1cf783a147ec91938bc674f87"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select different edge modes like SDR+NON-PHY, SDR+PHY and DDR+PHY.  <a href="#ga4ea6e8d1cf783a147ec91938bc674f87">More...</a><br/></td></tr>
<tr class="separator:ga4ea6e8d1cf783a147ec91938bc674f87"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad3f49109cd86ff61148d44532e437d07"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad3f49109cd86ff61148d44532e437d07"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_EDGE_MODE_SDR_NON_PHY</b>&#160;&#160;&#160;0x1U</td></tr>
<tr class="separator:gad3f49109cd86ff61148d44532e437d07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga03534c7505e5a1b249e029b6a5db7bf6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga03534c7505e5a1b249e029b6a5db7bf6"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_EDGE_MODE_DDR_PHY</b>&#160;&#160;&#160;0x2U</td></tr>
<tr class="separator:ga03534c7505e5a1b249e029b6a5db7bf6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Chip Select selection</h2></td></tr>
<tr class="memitem:gabcd3734ba03a8f4d7088acb931bd46cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gabcd3734ba03a8f4d7088acb931bd46cd">XSFL_SELECT_FLASH_CS0</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:gabcd3734ba03a8f4d7088acb931bd46cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select CS0 and CS1.  <a href="#gabcd3734ba03a8f4d7088acb931bd46cd">More...</a><br/></td></tr>
<tr class="separator:gabcd3734ba03a8f4d7088acb931bd46cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9201345bf09bf5f950f7744fad62f805"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga9201345bf09bf5f950f7744fad62f805"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_SELECT_FLASH_CS1</b>&#160;&#160;&#160;1</td></tr>
<tr class="separator:ga9201345bf09bf5f950f7744fad62f805"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Connection mode selection</h2></td></tr>
<tr class="memitem:gabd482071fe9f9ffb2c325e7d82484328"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gabd482071fe9f9ffb2c325e7d82484328">XSFL_CONNECTION_MODE_SINGLE</a>&#160;&#160;&#160;0x0U</td></tr>
<tr class="memdesc:gabd482071fe9f9ffb2c325e7d82484328"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select SINGLE, STACKED and PARALLEL connection modes.  <a href="#gabd482071fe9f9ffb2c325e7d82484328">More...</a><br/></td></tr>
<tr class="separator:gabd482071fe9f9ffb2c325e7d82484328"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga107cb8ffb6a2dee52c9e393a036de160"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga107cb8ffb6a2dee52c9e393a036de160"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_CONNECTION_MODE_STACKED</b>&#160;&#160;&#160;0x1U</td></tr>
<tr class="separator:ga107cb8ffb6a2dee52c9e393a036de160"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="member-group"></a>
Prototype(Bus width: Cmd_Addr_Data) selection</h2></td></tr>
<tr class="memitem:ga98b08dadae48dc266ae7b6aaaa2b0956"><td class="memItemLeft" align="right" valign="top">typedef union <a class="el" href="union_x_sfl___user_config.html">XSfl_UserConfig</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga98b08dadae48dc266ae7b6aaaa2b0956">XSfl_UserConfig</a></td></tr>
<tr class="memdesc:ga98b08dadae48dc266ae7b6aaaa2b0956"><td class="mdescLeft">&#160;</td><td class="mdescRight">This typedef contains configuration information for a flash/controller device.  <a href="#ga98b08dadae48dc266ae7b6aaaa2b0956">More...</a><br/></td></tr>
<tr class="separator:ga98b08dadae48dc266ae7b6aaaa2b0956"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga91e56d8af1dd4e5d1b5d614be6b123ec"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit</a> (u8 *SflHandler, <a class="el" href="union_x_sfl___user_config.html">XSfl_UserConfig</a> SflUserOptions, u8 ControllerInfo)</td></tr>
<tr class="memdesc:ga91e56d8af1dd4e5d1b5d614be6b123ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes controller interface and serial nor flash connected.  <a href="#ga91e56d8af1dd4e5d1b5d614be6b123ec">More...</a><br/></td></tr>
<tr class="separator:ga91e56d8af1dd4e5d1b5d614be6b123ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga49eeaf1569748d56e0fa1742a50ee291"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga49eeaf1569748d56e0fa1742a50ee291">XSfl_FlashErase</a> (u8 SflHandler, u32 Address, u32 ByteCount)</td></tr>
<tr class="memdesc:ga49eeaf1569748d56e0fa1742a50ee291"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function erases the serial nor flash connected to the specific interface.  <a href="#ga49eeaf1569748d56e0fa1742a50ee291">More...</a><br/></td></tr>
<tr class="separator:ga49eeaf1569748d56e0fa1742a50ee291"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga826c63730a917b8de42d41d634a1b30f"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga826c63730a917b8de42d41d634a1b30f">XSfl_FlashWrite</a> (u8 SflHandler, u32 Address, u32 ByteCount, u8 *WriteBfrPtr)</td></tr>
<tr class="memdesc:ga826c63730a917b8de42d41d634a1b30f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function writes to the serial nor flash connected to the interface driver.  <a href="#ga826c63730a917b8de42d41d634a1b30f">More...</a><br/></td></tr>
<tr class="separator:ga826c63730a917b8de42d41d634a1b30f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab25ea5272a45a906d47d00423a6a7fdb"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gab25ea5272a45a906d47d00423a6a7fdb">XSfl_FlashReadStart</a> (u8 SflHandler, u32 Address, u32 ByteCount, u8 *ReadBfrPtr, u64 RxAddr64bit)</td></tr>
<tr class="memdesc:gab25ea5272a45a906d47d00423a6a7fdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function reads from the flash connected to the specific interface.  <a href="#gab25ea5272a45a906d47d00423a6a7fdb">More...</a><br/></td></tr>
<tr class="separator:gab25ea5272a45a906d47d00423a6a7fdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b21dced60d227505db47cf933e44c59"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga9b21dced60d227505db47cf933e44c59">XSfl_FlashReadDone</a> (u8 SflHandler)</td></tr>
<tr class="memdesc:ga9b21dced60d227505db47cf933e44c59"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function used to check read completion status of serial Flash connected to the Specific interface.  <a href="#ga9b21dced60d227505db47cf933e44c59">More...</a><br/></td></tr>
<tr class="separator:ga9b21dced60d227505db47cf933e44c59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2dc535e80a4fa46f52380b8ece695826"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga2dc535e80a4fa46f52380b8ece695826">XSfl_FlashGetInfo</a> (u8 SflHandler, u8 Option, u32 *DataPtr)</td></tr>
<tr class="memdesc:ga2dc535e80a4fa46f52380b8ece695826"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function used to get details serial Flash connected to the Specific interface.  <a href="#ga2dc535e80a4fa46f52380b8ece695826">More...</a><br/></td></tr>
<tr class="separator:ga2dc535e80a4fa46f52380b8ece695826"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacef7db1daf91e89b3e862517d5a2a8f0"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#gacef7db1daf91e89b3e862517d5a2a8f0">XSfl_FlashRead</a> (u8 SflHandler, u32 Address, u32 ByteCount, u8 *ReadBfrPtr, u64 RxAddr64bit)</td></tr>
<tr class="memdesc:gacef7db1daf91e89b3e862517d5a2a8f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function performs read from the flash.  <a href="#gacef7db1daf91e89b3e862517d5a2a8f0">More...</a><br/></td></tr>
<tr class="separator:gacef7db1daf91e89b3e862517d5a2a8f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1b818167c6543cccebb14f2c2ab25ea3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xilsfl.html#ga1b818167c6543cccebb14f2c2ab25ea3">XSFL_FLASH_PROTO_1_1_1</a>&#160;&#160;&#160;0U</td></tr>
<tr class="memdesc:ga1b818167c6543cccebb14f2c2ab25ea3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Macros to select Read and Write prototype.  <a href="#ga1b818167c6543cccebb14f2c2ab25ea3">More...</a><br/></td></tr>
<tr class="separator:ga1b818167c6543cccebb14f2c2ab25ea3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga844d54ca7b38129384b13f80ec2864de"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga844d54ca7b38129384b13f80ec2864de"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_FLASH_PROTO_1_0_1</b>&#160;&#160;&#160;1U</td></tr>
<tr class="separator:ga844d54ca7b38129384b13f80ec2864de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad4ce3d49b0d0545415a3aa67326b7299"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gad4ce3d49b0d0545415a3aa67326b7299"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_FLASH_PROTO_1_1_2</b>&#160;&#160;&#160;2U</td></tr>
<tr class="separator:gad4ce3d49b0d0545415a3aa67326b7299"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab429e720c97529c5b34c60d433b8dcbd"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab429e720c97529c5b34c60d433b8dcbd"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_FLASH_PROTO_1_1_8</b>&#160;&#160;&#160;3U</td></tr>
<tr class="separator:gab429e720c97529c5b34c60d433b8dcbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2fb551eec5535d56aa695e5cb2ccf6d1"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga2fb551eec5535d56aa695e5cb2ccf6d1"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_FLASH_PROTO_1_8_8</b>&#160;&#160;&#160;4U</td></tr>
<tr class="separator:ga2fb551eec5535d56aa695e5cb2ccf6d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7dfe00d90608ee0b7e9d33c13d446d89"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7dfe00d90608ee0b7e9d33c13d446d89"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_FLASH_PROTO_8_8_8</b>&#160;&#160;&#160;5U</td></tr>
<tr class="separator:ga7dfe00d90608ee0b7e9d33c13d446d89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga667288881e2a8f2ae05c0b2f68b1087c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga667288881e2a8f2ae05c0b2f68b1087c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_FLASH_PROTO_8_0_0</b>&#160;&#160;&#160;6U</td></tr>
<tr class="separator:ga667288881e2a8f2ae05c0b2f68b1087c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7ea3d643c27f85f5828ec670ecfb31d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7ea3d643c27f85f5828ec670ecfb31d7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_FLASH_PROTO_8_8_0</b>&#160;&#160;&#160;7U</td></tr>
<tr class="separator:ga7ea3d643c27f85f5828ec670ecfb31d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga316b0fdf09c9fbbf16b5ddc3565bb52e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga316b0fdf09c9fbbf16b5ddc3565bb52e"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_FLASH_PROTO_8_0_8</b>&#160;&#160;&#160;8U</td></tr>
<tr class="separator:ga316b0fdf09c9fbbf16b5ddc3565bb52e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga46fd1fbae0f677768b53a96d22b8130f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga46fd1fbae0f677768b53a96d22b8130f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_FLASH_PROTO_1_1_4</b>&#160;&#160;&#160;9U</td></tr>
<tr class="separator:ga46fd1fbae0f677768b53a96d22b8130f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7b701ab5764ccadf0a9244dcd14cd48c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7b701ab5764ccadf0a9244dcd14cd48c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_FLASH_PROTO_4_4_4</b>&#160;&#160;&#160;10U</td></tr>
<tr class="separator:ga7b701ab5764ccadf0a9244dcd14cd48c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6fc0ba5d97e513484565311df90fdce8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga6fc0ba5d97e513484565311df90fdce8"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_FLASH_ID</b>&#160;&#160;&#160;0U /* Flash Device jdec_id */</td></tr>
<tr class="separator:ga6fc0ba5d97e513484565311df90fdce8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae82936c8713e79bd594f254838b71830"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae82936c8713e79bd594f254838b71830"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_DEVICE_SIZE</b></td></tr>
<tr class="separator:gae82936c8713e79bd594f254838b71830"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf6c3b436c4cc968f58e7cae4cef993b7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaf6c3b436c4cc968f58e7cae4cef993b7"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_SECT_SIZE</b></td></tr>
<tr class="separator:gaf6c3b436c4cc968f58e7cae4cef993b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5853b0185f3ebbc9d078458106eb51ad"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5853b0185f3ebbc9d078458106eb51ad"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_PAGE_SIZE</b></td></tr>
<tr class="separator:ga5853b0185f3ebbc9d078458106eb51ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabe411a2161c418968e463e16c1f0c173"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gabe411a2161c418968e463e16c1f0c173"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_FLASH_TYPE</b>&#160;&#160;&#160;4U /* Flash Type (QSPI/OSPI) */</td></tr>
<tr class="separator:gabe411a2161c418968e463e16c1f0c173"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5edf0dd16d9d145f0b3c4f3c09e71e6c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga5edf0dd16d9d145f0b3c4f3c09e71e6c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_X1_BUS_WIDTH</b>&#160;&#160;&#160;0x01</td></tr>
<tr class="separator:ga5edf0dd16d9d145f0b3c4f3c09e71e6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacad8ace19a29af7b5844972c2562121f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gacad8ace19a29af7b5844972c2562121f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_X2_BUS_WIDTH</b>&#160;&#160;&#160;0x02</td></tr>
<tr class="separator:gacad8ace19a29af7b5844972c2562121f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7a2643e5722b0d3c1a2c6d907740c7ae"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga7a2643e5722b0d3c1a2c6d907740c7ae"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_X4_BUS_WIDTH</b>&#160;&#160;&#160;0x04</td></tr>
<tr class="separator:ga7a2643e5722b0d3c1a2c6d907740c7ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3d74356ccfcba2046dca88f8f2e95c0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gae3d74356ccfcba2046dca88f8f2e95c0"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>XSFL_X8_BUS_WIDTH</b>&#160;&#160;&#160;0x08</td></tr>
<tr class="separator:gae3d74356ccfcba2046dca88f8f2e95c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="ga26281510c88dd6eb9dc00be3d13c7451"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XILSFL_CONTROL_H</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>&lt; prevent circular inclusions </p>
<p>by using protection macros </p>

</div>
</div>
<a class="anchor" id="gaf127a84afb0c66b1acfe91a00fed4410"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSFL_BROKEN_DMA&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Max Byte count in Stig Mode. </p>

<p>Referenced by <a class="el" href="xilsfl__ospi__flash__readwrite__example_8c.html#ac9643c6f7d05d31e806a1697819800c2">SflReadWriteExample()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, and <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3fa3d134bdb3bcbc4b1c55ce92e55602"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSFL_CONFIG_REG2_VOLATILE_ADDR_MX&#160;&#160;&#160;0x00000300</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Controller Type. </p>

</div>
</div>
<a class="anchor" id="gabd482071fe9f9ffb2c325e7d82484328"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSFL_CONNECTION_MODE_SINGLE&#160;&#160;&#160;0x0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select SINGLE, STACKED and PARALLEL connection modes. </p>

</div>
</div>
<a class="anchor" id="gab205ac473b0e82e74c430c729a3ed465"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSFL_DUAL_BYTE_OP_DISABLE&#160;&#160;&#160;0x00</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to enable/disable Dual Byte opcode. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>.</p>

</div>
</div>
<a class="anchor" id="ga4ea6e8d1cf783a147ec91938bc674f87"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSFL_EDGE_MODE_SDR_PHY&#160;&#160;&#160;0x0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select different edge modes like SDR+NON-PHY, SDR+PHY and DDR+PHY. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1b818167c6543cccebb14f2c2ab25ea3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSFL_FLASH_PROTO_1_1_1&#160;&#160;&#160;0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select Read and Write prototype. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>.</p>

</div>
</div>
<a class="anchor" id="gaeed79c966ab6be378b99780d590b7529"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSFL_OSPI_CNTRL&#160;&#160;&#160;0x01</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flag to use DMA or not. </p>

<p>Referenced by <a class="el" href="xilsfl__ospi__flash__readwrite__example_8c.html#ac9643c6f7d05d31e806a1697819800c2">SflReadWriteExample()</a>, and <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga1ba0f94d6031764207013da22aaa3fae"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSFL_RXADDR_OVER_32BIT&#160;&#160;&#160;0x100000000U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Rx address over 32 bit. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, and <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>.</p>

</div>
</div>
<a class="anchor" id="gabcd3734ba03a8f4d7088acb931bd46cd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XSFL_SELECT_FLASH_CS0&#160;&#160;&#160;0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Macros to select CS0 and CS1. </p>

<p>Referenced by <a class="el" href="xilsfl__ospi__flash__readwrite__example_8c.html#ac9643c6f7d05d31e806a1697819800c2">SflReadWriteExample()</a>, <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>, and <a class="el" href="group__xilsfl.html#ga5db7bb11b2fc937b06a37b5e0e4b29a7">XSfl_GetRealAddr()</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="ga98b08dadae48dc266ae7b6aaaa2b0956"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef union <a class="el" href="union_x_sfl___user_config.html">XSfl_UserConfig</a>  <a class="el" href="union_x_sfl___user_config.html">XSfl_UserConfig</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This typedef contains configuration information for a flash/controller device. </p>
<p>The user is required to allocate a variable of this type. A variable of this type is then passed to the library API functions. </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga3117ca4afac19f594039caade68a1466"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_CalculateFCTIndex </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ReadId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>FCTIndex</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function used to Identifies the flash in FCT table. </p>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, otherwise XST_FAILURE. </dd></dl>

<p>Referenced by <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>.</p>

</div>
</div>
<a class="anchor" id="gae7d287a9ac84fa27612bfe2104d91819"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashCmdTransfer </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *&#160;</td>
          <td class="paramname"><em>SflInstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Cmd</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API can be used to transfer the command to the flash. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflInstancePtr</td><td>is a pointer to the interface driver component to use. </td></tr>
    <tr><td class="paramname">Cmd</td><td>is the command to be transfered to the flash.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else error code.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This API can only be used for one flash at a time. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gac1c48155b607da578d432d697249e702">XSfl_Msg::Addr</a>, <a class="el" href="group__xilsfl.html#ga17743aa6d48afbdf0f60beb7eb061aa8">XSfl_Msg::Addrsize</a>, <a class="el" href="group__xilsfl.html#gac9e0ab7a825b0814d87e950abd5beee3">XSfl_Msg::Addrvalid</a>, <a class="el" href="group__xilsfl.html#ga0aaf9cdfa888bb10e62abbc77feea088">XSfl_Msg::ByteCount</a>, <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, <a class="el" href="group__xilsfl.html#gaca9d4c05b1c7cd749f4b3c36f444e721">XSfl_CntrlInfo::DeviceId</a>, <a class="el" href="group__xilsfl.html#ga43eded5844e9e26ae779ea9517d94da3">XSfl_Msg::DualByteOpCode</a>, <a class="el" href="group__xilsfl.html#ga68fa3b7667ab72139e2e6872bca2c614">XSfl_Msg::Dummy</a>, <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#gae9b81ed42e5d9d188dcb7ca2e3b930d5">XSfl_Msg::Opcode</a>, <a class="el" href="group__xilsfl.html#gad0719815f6ede45c39a438ac3165ddbe">XSfl_Msg::Proto</a>, <a class="el" href="group__xilsfl.html#ga9cf6ea17dbe8ad48845b03e6591435ff">XSfl_Msg::RxBfrPtr</a>, <a class="el" href="group__xilsfl.html#ga5d0c450d24cd4a45386ee599c73b041b">XSfl_CntrlInfo::SdrDdrMode</a>, <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, <a class="el" href="group__xilsfl.html#ga9bd49b340366873d2eab07540b3fdb24">XSfl_CntrlInfo::Transfer</a>, and <a class="el" href="group__xilsfl.html#ga969f1c20ce715974afed66a0f96cc8fb">XSfl_Msg::TxBfrPtr</a>.</p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gab1ba16e9c7b118d9436d779c254916ca">XSfl_FlashEnterExit4BAddMode()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>, and <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>.</p>

</div>
</div>
<a class="anchor" id="gab1ba16e9c7b118d9436d779c254916ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashEnterExit4BAddMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *&#160;</td>
          <td class="paramname"><em>SflInstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Enable</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>ChipSelNum</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API enters the flash device into 4 bytes addressing mode. </p>
<p>As per the Micron spec, before issuing the command to enter into 4 byte addr mode, a write enable command is issued.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflInstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_sfl___interface.html" title="This typedef contains interface information for a sfl library. ">XSfl_Interface</a> driver component to use. </td></tr>
    <tr><td class="paramname">Enable</td><td>is a either 1 or 0 if 1 then enters 4 byte if 0 exits. </td></tr>
    <tr><td class="paramname">ChipSelNum</td><td>is the chip select number.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>- XST_SUCCESS if successful.<ul>
<li>error code if it fails. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, <a class="el" href="group__xilsfl.html#ga2b1fed97e76cc47f847b4474c16bed1d">XSfl_FlashInfo::ConnectionMode</a>, <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#ga86974e7a9e8f166bb84cba62ceb577d6">XSfl_FlashInfo::FlashMake</a>, <a class="el" href="group__xilsfl.html#ga088f114969ecee72f82ee807c25adcfb">XFlashInfo::FlashType</a>, <a class="el" href="group__xilsfl.html#ga3653d9517685c0f1dc44381e7aa838d4">XSfl_CntrlInfo::SelectFlash</a>, <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga49eeaf1569748d56e0fa1742a50ee291"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashErase </td>
          <td>(</td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>SflHandler</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteCount</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function erases the serial nor flash connected to the specific interface. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflHandler</td><td>is a pointer to the Sfl interface component to use. </td></tr>
    <tr><td class="paramname">Address</td><td>is the sector offset address of the flash at which data to be erased. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>contains the total size to be erased.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else error code. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, and <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>.</p>

<p>Referenced by <a class="el" href="xilsfl__ospi__flash__readwrite__example_8c.html#ac9643c6f7d05d31e806a1697819800c2">SflReadWriteExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2dc535e80a4fa46f52380b8ece695826"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashGetInfo </td>
          <td>(</td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>SflHandler</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Option</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>DataPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function used to get details serial Flash connected to the Specific interface. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflHandler</td><td>is a pointer to the Sfl interface driver component to use. </td></tr>
    <tr><td class="paramname">Option</td><td>is to get specific details of the flash. </td></tr>
    <tr><td class="paramname">DataPtr</td><td>is the pointer to the flash info to be copied.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else error code. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#ga088f114969ecee72f82ee807c25adcfb">XFlashInfo::FlashType</a>, and <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>.</p>

<p>Referenced by <a class="el" href="xilsfl__ospi__flash__readwrite__example_8c.html#ac9643c6f7d05d31e806a1697819800c2">SflReadWriteExample()</a>.</p>

</div>
</div>
<a class="anchor" id="gab3c547fa045d3b91a7c0d6c3a16f6fc1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashIdRead </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *&#160;</td>
          <td class="paramname"><em>SflInstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>ChipSelNum</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>SflReadBuffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Reads the flash ID and identifies the flash in FCT table. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflInstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_sfl___interface.html" title="This typedef contains interface information for a sfl library. ">XSfl_Interface</a> driver component to use. </td></tr>
    <tr><td class="paramname">ChipSelNum</td><td>is the chip select number. </td></tr>
    <tr><td class="paramname">SflReadBuffer</td><td>is pointer to the read buffer to store flash id.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, otherwise error code. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#ga17743aa6d48afbdf0f60beb7eb061aa8">XSfl_Msg::Addrsize</a>, <a class="el" href="group__xilsfl.html#gac9e0ab7a825b0814d87e950abd5beee3">XSfl_Msg::Addrvalid</a>, <a class="el" href="group__xilsfl.html#ga0aaf9cdfa888bb10e62abbc77feea088">XSfl_Msg::ByteCount</a>, <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, <a class="el" href="group__xilsfl.html#gaca9d4c05b1c7cd749f4b3c36f444e721">XSfl_CntrlInfo::DeviceId</a>, <a class="el" href="group__xilsfl.html#ga7ca3bd52694e8e1c1b2634b8a046f296">XSfl_CntrlInfo::DeviceIdData</a>, <a class="el" href="group__xilsfl.html#ga68fa3b7667ab72139e2e6872bca2c614">XSfl_Msg::Dummy</a>, <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#ga86974e7a9e8f166bb84cba62ceb577d6">XSfl_FlashInfo::FlashMake</a>, <a class="el" href="group__xilsfl.html#ga088f114969ecee72f82ee807c25adcfb">XFlashInfo::FlashType</a>, <a class="el" href="group__xilsfl.html#gae9b81ed42e5d9d188dcb7ca2e3b930d5">XSfl_Msg::Opcode</a>, <a class="el" href="group__xilsfl.html#gad0719815f6ede45c39a438ac3165ddbe">XSfl_Msg::Proto</a>, <a class="el" href="group__xilsfl.html#ga9cf6ea17dbe8ad48845b03e6591435ff">XSfl_Msg::RxBfrPtr</a>, <a class="el" href="group__xilsfl.html#ga3653d9517685c0f1dc44381e7aa838d4">XSfl_CntrlInfo::SelectFlash</a>, <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, <a class="el" href="group__xilsfl.html#ga9bd49b340366873d2eab07540b3fdb24">XSfl_CntrlInfo::Transfer</a>, <a class="el" href="group__xilsfl.html#ga969f1c20ce715974afed66a0f96cc8fb">XSfl_Msg::TxBfrPtr</a>, <a class="el" href="group__xilsfl.html#ga3117ca4afac19f594039caade68a1466">XSfl_CalculateFCTIndex()</a>, and <a class="el" href="group__xilsfl.html#ga1b818167c6543cccebb14f2c2ab25ea3">XSFL_FLASH_PROTO_1_1_1</a>.</p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga91e56d8af1dd4e5d1b5d614be6b123ec"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashInit </td>
          <td>(</td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>SflHandler</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="union_x_sfl___user_config.html">XSfl_UserConfig</a>&#160;</td>
          <td class="paramname"><em>SflUserOptions</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>ControllerInfo</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function initializes controller interface and serial nor flash connected. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflUserOptions</td><td>contains the controller and flash configuration info. </td></tr>
    <tr><td class="paramname">ControllerInfo</td><td>contains the type of controller.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>SFL index on successful initialization, else Error codes. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#ga65bb1fd23521f30fc4336541acf5dc84">XSfl_FlashInfo::AddrSize</a>, <a class="el" href="group__xilsfl.html#ga9213857622e5305c1fa626fd922ef4de">XSfl_CntrlInfo::BusWidth</a>, <a class="el" href="group__xilsfl.html#ga80c8f73ea1e75741aa26deb7a37e672e">XSfl_CntrlInfo::ChipSelectNum</a>, <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, <a class="el" href="group__xilsfl.html#gad2b4233a4484e6936c81604d18d72842">XSfl_CntrlInfo::CntrlType</a>, <a class="el" href="group__xilsfl.html#ga2b1fed97e76cc47f847b4474c16bed1d">XSfl_FlashInfo::ConnectionMode</a>, <a class="el" href="group__xilsfl.html#gaffec8c86f0cf87f0a2fcf1480690a3de">XSfl_CntrlInfo::DeviceReset</a>, <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#ga088f114969ecee72f82ee807c25adcfb">XFlashInfo::FlashType</a>, <a class="el" href="group__xilsfl.html#gac2428febb31ae963321941405c4b7a2a">XSfl_CntrlInfo::RefClockHz</a>, <a class="el" href="group__xilsfl.html#ga5d0c450d24cd4a45386ee599c73b041b">XSfl_CntrlInfo::SdrDdrMode</a>, <a class="el" href="group__xilsfl.html#ga588462fc977e39765295b5b172059935">XFlashInfo::SdrMaxFreq</a>, <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, <a class="el" href="group__xilsfl.html#ga4ea6e8d1cf783a147ec91938bc674f87">XSFL_EDGE_MODE_SDR_PHY</a>, <a class="el" href="group__xilsfl.html#gab1ba16e9c7b118d9436d779c254916ca">XSfl_FlashEnterExit4BAddMode()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>, and <a class="el" href="group__xilsfl.html#gaeed79c966ab6be378b99780d590b7529">XSFL_OSPI_CNTRL</a>.</p>

<p>Referenced by <a class="el" href="xilsfl__ospi__flash__readwrite__example_8c.html#ac9643c6f7d05d31e806a1697819800c2">SflReadWriteExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga8c62ceb6e67539fb6d9a3ebe110dd1b3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashNonBlockingReadProcess </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *&#160;</td>
          <td class="paramname"><em>SflInstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>ReadBfrPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>RxAddr64bit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs non-blocking read from the serial nor flash connected to specific interface. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Sfl_Handler</td><td>is a index to the <a class="el" href="struct_x_sfl.html" title="This typedef contains information of the sfl library. ">XSfl</a> interface component to use. </td></tr>
    <tr><td class="paramname">Address</td><td>contains the address of the flash that needs to be read. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>contains the total size to be erased. </td></tr>
    <tr><td class="paramname">ReadBfrPtr</td><td>is the pointer to the read buffer to which valid received data should be written </td></tr>
    <tr><td class="paramname">RxAddr64bit</td><td>is of the 64bit address of destination read buffer to which valid received data should be written.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else Error code. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gac1c48155b607da578d432d697249e702">XSfl_Msg::Addr</a>, <a class="el" href="group__xilsfl.html#ga17743aa6d48afbdf0f60beb7eb061aa8">XSfl_Msg::Addrsize</a>, <a class="el" href="group__xilsfl.html#ga65bb1fd23521f30fc4336541acf5dc84">XSfl_FlashInfo::AddrSize</a>, <a class="el" href="group__xilsfl.html#gac9e0ab7a825b0814d87e950abd5beee3">XSfl_Msg::Addrvalid</a>, <a class="el" href="group__xilsfl.html#ga9213857622e5305c1fa626fd922ef4de">XSfl_CntrlInfo::BusWidth</a>, <a class="el" href="group__xilsfl.html#ga0aaf9cdfa888bb10e62abbc77feea088">XSfl_Msg::ByteCount</a>, <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, <a class="el" href="group__xilsfl.html#ga2b1fed97e76cc47f847b4474c16bed1d">XSfl_FlashInfo::ConnectionMode</a>, <a class="el" href="group__xilsfl.html#gaca9d4c05b1c7cd749f4b3c36f444e721">XSfl_CntrlInfo::DeviceId</a>, <a class="el" href="group__xilsfl.html#ga43eded5844e9e26ae779ea9517d94da3">XSfl_Msg::DualByteOpCode</a>, <a class="el" href="group__xilsfl.html#ga68fa3b7667ab72139e2e6872bca2c614">XSfl_Msg::Dummy</a>, <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#ga86974e7a9e8f166bb84cba62ceb577d6">XSfl_FlashInfo::FlashMake</a>, <a class="el" href="group__xilsfl.html#gae2fd5b368e65be45fcb1cb25e75724c2">XSfl_CntrlInfo::NonBlockingTransfer</a>, <a class="el" href="group__xilsfl.html#gae9b81ed42e5d9d188dcb7ca2e3b930d5">XSfl_Msg::Opcode</a>, <a class="el" href="group__xilsfl.html#ga271fefe6ac78f6570cd0ef022062fce8">XSfl_CntrlInfo::OpMode</a>, <a class="el" href="group__xilsfl.html#ga6fed439badd48ed2aa4d51f431a1d627">XFlashInfo::Proto</a>, <a class="el" href="group__xilsfl.html#gad0719815f6ede45c39a438ac3165ddbe">XSfl_Msg::Proto</a>, <a class="el" href="group__xilsfl.html#ga63eff4dd6fc25bcc1519051e1ab61f50">XSfl_Interface::Quirks</a>, <a class="el" href="group__xilsfl.html#ga857e87a3ce1d3539abd1a4c485ace65a">XSfl_Msg::RxAddr64bit</a>, <a class="el" href="group__xilsfl.html#ga9cf6ea17dbe8ad48845b03e6591435ff">XSfl_Msg::RxBfrPtr</a>, <a class="el" href="group__xilsfl.html#ga5d0c450d24cd4a45386ee599c73b041b">XSfl_CntrlInfo::SdrDdrMode</a>, <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, <a class="el" href="group__xilsfl.html#ga89e6763341befc1eeb12d3e057cba16c">XSfl_CntrlInfo::TransferDone</a>, <a class="el" href="group__xilsfl.html#ga969f1c20ce715974afed66a0f96cc8fb">XSfl_Msg::TxBfrPtr</a>, <a class="el" href="group__xilsfl.html#ga5cb4882d5fd9d67c8061759327734df9">XSfl_Msg::Xfer64bit</a>, <a class="el" href="group__xilsfl.html#gaf127a84afb0c66b1acfe91a00fed4410">XSFL_BROKEN_DMA</a>, <a class="el" href="group__xilsfl.html#ga5db7bb11b2fc937b06a37b5e0e4b29a7">XSfl_GetRealAddr()</a>, and <a class="el" href="group__xilsfl.html#ga1ba0f94d6031764207013da22aaa3fae">XSFL_RXADDR_OVER_32BIT</a>.</p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gab25ea5272a45a906d47d00423a6a7fdb">XSfl_FlashReadStart()</a>.</p>

</div>
</div>
<a class="anchor" id="gac66a63ff325a29a34bb794facae9532e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashPageWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *&#160;</td>
          <td class="paramname"><em>SflInstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>WriteBfrPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes to the serial nor flash connected to the specific interface. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Sfl_Handler</td><td>is a index to the Sfl interface component to use. </td></tr>
    <tr><td class="paramname">Address</td><td>contains the address of the first page which needs to be written. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>contains the number of bytes to write. </td></tr>
    <tr><td class="paramname">WriteBfrPtr</td><td>is Pointer to the write buffer (which is to be transmitted)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else Error code. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gac1c48155b607da578d432d697249e702">XSfl_Msg::Addr</a>, <a class="el" href="group__xilsfl.html#ga17743aa6d48afbdf0f60beb7eb061aa8">XSfl_Msg::Addrsize</a>, <a class="el" href="group__xilsfl.html#ga65bb1fd23521f30fc4336541acf5dc84">XSfl_FlashInfo::AddrSize</a>, <a class="el" href="group__xilsfl.html#gac9e0ab7a825b0814d87e950abd5beee3">XSfl_Msg::Addrvalid</a>, <a class="el" href="group__xilsfl.html#ga0aaf9cdfa888bb10e62abbc77feea088">XSfl_Msg::ByteCount</a>, <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, <a class="el" href="group__xilsfl.html#gaca9d4c05b1c7cd749f4b3c36f444e721">XSfl_CntrlInfo::DeviceId</a>, <a class="el" href="group__xilsfl.html#ga43eded5844e9e26ae779ea9517d94da3">XSfl_Msg::DualByteOpCode</a>, <a class="el" href="group__xilsfl.html#ga68fa3b7667ab72139e2e6872bca2c614">XSfl_Msg::Dummy</a>, <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#gae9b81ed42e5d9d188dcb7ca2e3b930d5">XSfl_Msg::Opcode</a>, <a class="el" href="group__xilsfl.html#gad0719815f6ede45c39a438ac3165ddbe">XSfl_Msg::Proto</a>, <a class="el" href="group__xilsfl.html#ga9cf6ea17dbe8ad48845b03e6591435ff">XSfl_Msg::RxBfrPtr</a>, <a class="el" href="group__xilsfl.html#ga5d0c450d24cd4a45386ee599c73b041b">XSfl_CntrlInfo::SdrDdrMode</a>, <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, <a class="el" href="group__xilsfl.html#ga9bd49b340366873d2eab07540b3fdb24">XSfl_CntrlInfo::Transfer</a>, <a class="el" href="group__xilsfl.html#ga969f1c20ce715974afed66a0f96cc8fb">XSfl_Msg::TxBfrPtr</a>, <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#ga5db7bb11b2fc937b06a37b5e0e4b29a7">XSfl_GetRealAddr()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga826c63730a917b8de42d41d634a1b30f">XSfl_FlashWrite()</a>.</p>

</div>
</div>
<a class="anchor" id="gacef7db1daf91e89b3e862517d5a2a8f0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashRead </td>
          <td>(</td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>SflHandler</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>ReadBfrPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>RxAddr64bit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs read from the flash. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflHandler</td><td>is a index to the Sfl interface component to use. </td></tr>
    <tr><td class="paramname">Address</td><td>contains the address of the flash that needs to be read. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>contains the total size to be erased. </td></tr>
    <tr><td class="paramname">ReadBfrPtr</td><td>is the pointer to the read buffer to which valid received data should be written </td></tr>
    <tr><td class="paramname">RxAddr64bit</td><td>is of the 64bit address of destination read buffer to which valid received data should be written.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else error code. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>.</p>

<p>Referenced by <a class="el" href="xilsfl__ospi__flash__readwrite__example_8c.html#ac9643c6f7d05d31e806a1697819800c2">SflReadWriteExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9b21dced60d227505db47cf933e44c59"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashReadDone </td>
          <td>(</td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>SflHandler</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function used to check read completion status of serial Flash connected to the Specific interface. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflHandler</td><td>is a pointer to the Sfl interface driver component to use.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else error code. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#ga13d18f695b6fbba7a9c799d6f036cb05">XSfl_FlashTransferDone()</a>.</p>

<p>Referenced by <a class="el" href="xilsfl__ospi__flash__readwrite__example_8c.html#ac9643c6f7d05d31e806a1697819800c2">SflReadWriteExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga665675fe0b9996bed72aaca43f801e89"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashReadProcess </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *&#160;</td>
          <td class="paramname"><em>SflInstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>ReadBfrPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>RxAddr64bit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function performs read from the serial nor flash connected to specific interface. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Sfl_Handler</td><td>is a index to the <a class="el" href="struct_x_sfl.html" title="This typedef contains information of the sfl library. ">XSfl</a> interface component to use. </td></tr>
    <tr><td class="paramname">Address</td><td>contains the address of the flash that needs to be read. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>contains the total size to be erased. </td></tr>
    <tr><td class="paramname">ReadBfrPtr</td><td>is the pointer to the read buffer to which valid received data should be written </td></tr>
    <tr><td class="paramname">RxAddr64bit</td><td>is of the 64bit address of destination read buffer to which valid received data should be written.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else Error code. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gac1c48155b607da578d432d697249e702">XSfl_Msg::Addr</a>, <a class="el" href="group__xilsfl.html#ga17743aa6d48afbdf0f60beb7eb061aa8">XSfl_Msg::Addrsize</a>, <a class="el" href="group__xilsfl.html#ga65bb1fd23521f30fc4336541acf5dc84">XSfl_FlashInfo::AddrSize</a>, <a class="el" href="group__xilsfl.html#gac9e0ab7a825b0814d87e950abd5beee3">XSfl_Msg::Addrvalid</a>, <a class="el" href="group__xilsfl.html#ga9213857622e5305c1fa626fd922ef4de">XSfl_CntrlInfo::BusWidth</a>, <a class="el" href="group__xilsfl.html#ga0aaf9cdfa888bb10e62abbc77feea088">XSfl_Msg::ByteCount</a>, <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, <a class="el" href="group__xilsfl.html#ga2b1fed97e76cc47f847b4474c16bed1d">XSfl_FlashInfo::ConnectionMode</a>, <a class="el" href="group__xilsfl.html#gaca9d4c05b1c7cd749f4b3c36f444e721">XSfl_CntrlInfo::DeviceId</a>, <a class="el" href="group__xilsfl.html#ga43eded5844e9e26ae779ea9517d94da3">XSfl_Msg::DualByteOpCode</a>, <a class="el" href="group__xilsfl.html#ga68fa3b7667ab72139e2e6872bca2c614">XSfl_Msg::Dummy</a>, <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#ga86974e7a9e8f166bb84cba62ceb577d6">XSfl_FlashInfo::FlashMake</a>, <a class="el" href="group__xilsfl.html#gae9b81ed42e5d9d188dcb7ca2e3b930d5">XSfl_Msg::Opcode</a>, <a class="el" href="group__xilsfl.html#ga271fefe6ac78f6570cd0ef022062fce8">XSfl_CntrlInfo::OpMode</a>, <a class="el" href="group__xilsfl.html#ga6fed439badd48ed2aa4d51f431a1d627">XFlashInfo::Proto</a>, <a class="el" href="group__xilsfl.html#gad0719815f6ede45c39a438ac3165ddbe">XSfl_Msg::Proto</a>, <a class="el" href="group__xilsfl.html#ga63eff4dd6fc25bcc1519051e1ab61f50">XSfl_Interface::Quirks</a>, <a class="el" href="group__xilsfl.html#ga857e87a3ce1d3539abd1a4c485ace65a">XSfl_Msg::RxAddr64bit</a>, <a class="el" href="group__xilsfl.html#ga9cf6ea17dbe8ad48845b03e6591435ff">XSfl_Msg::RxBfrPtr</a>, <a class="el" href="group__xilsfl.html#ga5d0c450d24cd4a45386ee599c73b041b">XSfl_CntrlInfo::SdrDdrMode</a>, <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, <a class="el" href="group__xilsfl.html#ga9bd49b340366873d2eab07540b3fdb24">XSfl_CntrlInfo::Transfer</a>, <a class="el" href="group__xilsfl.html#ga969f1c20ce715974afed66a0f96cc8fb">XSfl_Msg::TxBfrPtr</a>, <a class="el" href="group__xilsfl.html#ga5cb4882d5fd9d67c8061759327734df9">XSfl_Msg::Xfer64bit</a>, <a class="el" href="group__xilsfl.html#gaf127a84afb0c66b1acfe91a00fed4410">XSFL_BROKEN_DMA</a>, <a class="el" href="group__xilsfl.html#ga5db7bb11b2fc937b06a37b5e0e4b29a7">XSfl_GetRealAddr()</a>, and <a class="el" href="group__xilsfl.html#ga1ba0f94d6031764207013da22aaa3fae">XSFL_RXADDR_OVER_32BIT</a>.</p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gacef7db1daf91e89b3e862517d5a2a8f0">XSfl_FlashRead()</a>.</p>

</div>
</div>
<a class="anchor" id="gab25ea5272a45a906d47d00423a6a7fdb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashReadStart </td>
          <td>(</td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>SflHandler</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>ReadBfrPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u64&#160;</td>
          <td class="paramname"><em>RxAddr64bit</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function reads from the flash connected to the specific interface. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflHandler</td><td>is a index to the Sfl interface component to use. </td></tr>
    <tr><td class="paramname">Address</td><td>contains the address of the flash that needs to be read. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>contains the total size to be erased. </td></tr>
    <tr><td class="paramname">ReadBfrPtr</td><td>is the pointer to the read buffer to which valid received data should be written </td></tr>
    <tr><td class="paramname">RxAddr64bit</td><td>is of the 64bit address of destination read buffer to which valid received data should be written.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else error code. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>.</p>

<p>Referenced by <a class="el" href="xilsfl__ospi__flash__readwrite__example_8c.html#ac9643c6f7d05d31e806a1697819800c2">SflReadWriteExample()</a>.</p>

</div>
</div>
<a class="anchor" id="gad43f7ae3c8e3ec11631b4a3e9443abcd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashRegisterReadWrite </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *&#160;</td>
          <td class="paramname"><em>SflInstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>RxBfrPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>TxBfrPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32 *&#160;</td>
          <td class="paramname"><em>CmdBufferPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>Addrvalid</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API can be used to Read/write to a flash register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflInstancePtr</td><td>is a pointer to the interface driver component to use. </td></tr>
    <tr><td class="paramname">RxBfrPtr</td><td>is the pointer to store the read value from flash. </td></tr>
    <tr><td class="paramname">TxBfrPtr</td><td>is the pointer to value to be written into flash. </td></tr>
    <tr><td class="paramname">CmdBufferPtr</td><td>is the pointer that holds command, address and dummy. </td></tr>
    <tr><td class="paramname">Addrvalid</td><td>defines the specific read/write requires address or not.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else error code.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This API can only be used for one flash at a time. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gac1c48155b607da578d432d697249e702">XSfl_Msg::Addr</a>, <a class="el" href="group__xilsfl.html#ga17743aa6d48afbdf0f60beb7eb061aa8">XSfl_Msg::Addrsize</a>, <a class="el" href="group__xilsfl.html#gac9e0ab7a825b0814d87e950abd5beee3">XSfl_Msg::Addrvalid</a>, <a class="el" href="group__xilsfl.html#ga0aaf9cdfa888bb10e62abbc77feea088">XSfl_Msg::ByteCount</a>, <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, <a class="el" href="group__xilsfl.html#gaca9d4c05b1c7cd749f4b3c36f444e721">XSfl_CntrlInfo::DeviceId</a>, <a class="el" href="group__xilsfl.html#ga43eded5844e9e26ae779ea9517d94da3">XSfl_Msg::DualByteOpCode</a>, <a class="el" href="group__xilsfl.html#ga68fa3b7667ab72139e2e6872bca2c614">XSfl_Msg::Dummy</a>, <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#gae9b81ed42e5d9d188dcb7ca2e3b930d5">XSfl_Msg::Opcode</a>, <a class="el" href="group__xilsfl.html#gad0719815f6ede45c39a438ac3165ddbe">XSfl_Msg::Proto</a>, <a class="el" href="group__xilsfl.html#ga9cf6ea17dbe8ad48845b03e6591435ff">XSfl_Msg::RxBfrPtr</a>, <a class="el" href="group__xilsfl.html#ga5d0c450d24cd4a45386ee599c73b041b">XSfl_CntrlInfo::SdrDdrMode</a>, <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, <a class="el" href="group__xilsfl.html#ga9bd49b340366873d2eab07540b3fdb24">XSfl_CntrlInfo::Transfer</a>, and <a class="el" href="group__xilsfl.html#ga969f1c20ce715974afed66a0f96cc8fb">XSfl_Msg::TxBfrPtr</a>.</p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>.</p>

</div>
</div>
<a class="anchor" id="gaef8179e349f43448cf7a3d7b061b1408"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashSetSDRDDRMode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *&#160;</td>
          <td class="paramname"><em>SflInstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>Mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>SflReadBuffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API enters the flash device into Octal DDR mode or exit from octal DDR mode (switches to Extended SPI mode). </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflInstancePtr</td><td>is a pointer to the <a class="el" href="struct_x_sfl___interface.html" title="This typedef contains interface information for a sfl library. ">XSfl_Interface</a> driver component to use. </td></tr>
    <tr><td class="paramname">Mode</td><td>is either 1 or 0 if 1 then enter octal DDR mode if 0 exits.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>- XST_SUCCESS if successful.<ul>
<li>error code if it fails. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, <a class="el" href="group__xilsfl.html#ga2b1fed97e76cc47f847b4474c16bed1d">XSfl_FlashInfo::ConnectionMode</a>, <a class="el" href="group__xilsfl.html#ga64143914205edd0597624a36ae2441a3">XFlashInfo::ExtOpCodeType</a>, <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#ga088f114969ecee72f82ee807c25adcfb">XFlashInfo::FlashType</a>, <a class="el" href="group__xilsfl.html#ga5d0c450d24cd4a45386ee599c73b041b">XSfl_CntrlInfo::SdrDdrMode</a>, <a class="el" href="group__xilsfl.html#ga3653d9517685c0f1dc44381e7aa838d4">XSfl_CntrlInfo::SelectFlash</a>, <a class="el" href="group__xilsfl.html#gaa38215973879979802977ce95a4fd17e">XSfl_CntrlInfo::SetSdrDdr</a>, <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, <a class="el" href="group__xilsfl.html#gab205ac473b0e82e74c430c729a3ed465">XSFL_DUAL_BYTE_OP_DISABLE</a>, <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, and <a class="el" href="group__xilsfl.html#gabcd3734ba03a8f4d7088acb931bd46cd">XSFL_SELECT_FLASH_CS0</a>.</p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga13d18f695b6fbba7a9c799d6f036cb05"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashTransferDone </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *&#160;</td>
          <td class="paramname"><em>SflInstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function used to check read completion status the serial Flash connected to the Specific interface. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Sfl_Handler</td><td>is a pointer to the <a class="el" href="struct_x_sfl.html" title="This typedef contains information of the sfl library. ">XSfl</a> interface driver component to use.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else error code. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, and <a class="el" href="group__xilsfl.html#ga89e6763341befc1eeb12d3e057cba16c">XSfl_CntrlInfo::TransferDone</a>.</p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga9b21dced60d227505db47cf933e44c59">XSfl_FlashReadDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga826c63730a917b8de42d41d634a1b30f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashWrite </td>
          <td>(</td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>SflHandler</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>ByteCount</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>WriteBfrPtr</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function writes to the serial nor flash connected to the interface driver. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflHandler</td><td>is a index to the Sfl interface component to use. </td></tr>
    <tr><td class="paramname">Address</td><td>contains the address to write data to in the Flash. </td></tr>
    <tr><td class="paramname">ByteCount</td><td>contains the number of bytes to be write. </td></tr>
    <tr><td class="paramname">WriteBfrPtr</td><td>is Pointer to the write buffer (which is to be transmitted)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else error code. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, and <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>.</p>

<p>Referenced by <a class="el" href="xilsfl__ospi__flash__readwrite__example_8c.html#ac9643c6f7d05d31e806a1697819800c2">SflReadWriteExample()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5db7bb11b2fc937b06a37b5e0e4b29a7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_GetRealAddr </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *&#160;</td>
          <td class="paramname"><em>SflInstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Address</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This functions translates the address based on the type of interconnection. </p>
<p>In case of stacked, this function asserts the corresponding slave select.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflInstancePtr</td><td>is a pointer to the interface driver component to use. </td></tr>
    <tr><td class="paramname">Address</td><td>which is to be accessed (for erase, write or read)</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>RealAddr is the translated address - for single it is unchanged; for stacked, the lower flash size is subtracted;</dd></dl>
<dl class="section note"><dt>Note</dt><dd>In addition to get the actual address to work on flash this function also selects the CS based on the configuration detected. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, <a class="el" href="group__xilsfl.html#ga2b1fed97e76cc47f847b4474c16bed1d">XSfl_FlashInfo::ConnectionMode</a>, <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#ga3653d9517685c0f1dc44381e7aa838d4">XSfl_CntrlInfo::SelectFlash</a>, <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, and <a class="el" href="group__xilsfl.html#gabcd3734ba03a8f4d7088acb931bd46cd">XSFL_SELECT_FLASH_CS0</a>.</p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, and <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>.</p>

</div>
</div>
<a class="anchor" id="gadf862581219f7242e0affc2f270c82c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_SectorErase </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *&#160;</td>
          <td class="paramname"><em>SflInstancePtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Address</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function used to erase the sectors of the serial nor flash connected to the specific interface. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Sfl_Handler</td><td>is a pointer to the <a class="el" href="struct_x_sfl.html" title="This typedef contains information of the sfl library. ">XSfl</a> interface component to use. </td></tr>
    <tr><td class="paramname">Address</td><td>contains the address of the first sector which needs to be erased.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else error code. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gac1c48155b607da578d432d697249e702">XSfl_Msg::Addr</a>, <a class="el" href="group__xilsfl.html#ga17743aa6d48afbdf0f60beb7eb061aa8">XSfl_Msg::Addrsize</a>, <a class="el" href="group__xilsfl.html#ga65bb1fd23521f30fc4336541acf5dc84">XSfl_FlashInfo::AddrSize</a>, <a class="el" href="group__xilsfl.html#gac9e0ab7a825b0814d87e950abd5beee3">XSfl_Msg::Addrvalid</a>, <a class="el" href="group__xilsfl.html#ga0aaf9cdfa888bb10e62abbc77feea088">XSfl_Msg::ByteCount</a>, <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, <a class="el" href="group__xilsfl.html#gaca9d4c05b1c7cd749f4b3c36f444e721">XSfl_CntrlInfo::DeviceId</a>, <a class="el" href="group__xilsfl.html#ga43eded5844e9e26ae779ea9517d94da3">XSfl_Msg::DualByteOpCode</a>, <a class="el" href="group__xilsfl.html#ga68fa3b7667ab72139e2e6872bca2c614">XSfl_Msg::Dummy</a>, <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#gae9b81ed42e5d9d188dcb7ca2e3b930d5">XSfl_Msg::Opcode</a>, <a class="el" href="group__xilsfl.html#gad0719815f6ede45c39a438ac3165ddbe">XSfl_Msg::Proto</a>, <a class="el" href="group__xilsfl.html#ga9cf6ea17dbe8ad48845b03e6591435ff">XSfl_Msg::RxBfrPtr</a>, <a class="el" href="group__xilsfl.html#ga5d0c450d24cd4a45386ee599c73b041b">XSfl_CntrlInfo::SdrDdrMode</a>, <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, <a class="el" href="group__xilsfl.html#ga9bd49b340366873d2eab07540b3fdb24">XSfl_CntrlInfo::Transfer</a>, <a class="el" href="group__xilsfl.html#ga969f1c20ce715974afed66a0f96cc8fb">XSfl_Msg::TxBfrPtr</a>, <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#ga5db7bb11b2fc937b06a37b5e0e4b29a7">XSfl_GetRealAddr()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga49eeaf1569748d56e0fa1742a50ee291">XSfl_FlashErase()</a>.</p>

</div>
</div>
<a class="anchor" id="ga93a864b058c078efaa24b42110a616b0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_WaitforStatusDone </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_sfl___interface.html">XSfl_Interface</a> *&#160;</td>
          <td class="paramname"><em>SflInstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This API can be used to read status of the flash status register. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">SflInstancePtr</td><td>is a pointer to the interface driver component to use.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>XST_SUCCESS if successful, else error code.</dd></dl>
<dl class="section note"><dt>Note</dt><dd>This API can only be used for one flash at a time. </dd></dl>

<p>References <a class="el" href="group__xilsfl.html#gac1c48155b607da578d432d697249e702">XSfl_Msg::Addr</a>, <a class="el" href="group__xilsfl.html#ga17743aa6d48afbdf0f60beb7eb061aa8">XSfl_Msg::Addrsize</a>, <a class="el" href="group__xilsfl.html#gac9e0ab7a825b0814d87e950abd5beee3">XSfl_Msg::Addrvalid</a>, <a class="el" href="group__xilsfl.html#ga0aaf9cdfa888bb10e62abbc77feea088">XSfl_Msg::ByteCount</a>, <a class="el" href="group__xilsfl.html#gac82ef8bb1b4d6639ed17518cdfc6e395">XSfl_Interface::CntrlInfo</a>, <a class="el" href="group__xilsfl.html#gaca9d4c05b1c7cd749f4b3c36f444e721">XSfl_CntrlInfo::DeviceId</a>, <a class="el" href="group__xilsfl.html#ga43eded5844e9e26ae779ea9517d94da3">XSfl_Msg::DualByteOpCode</a>, <a class="el" href="group__xilsfl.html#ga68fa3b7667ab72139e2e6872bca2c614">XSfl_Msg::Dummy</a>, <a class="el" href="group__xilsfl.html#ga65accbdd9e7b1d41ddfeffdd7e530079">XSfl_FlashInfo::FlashIndex</a>, <a class="el" href="group__xilsfl.html#gae9b81ed42e5d9d188dcb7ca2e3b930d5">XSfl_Msg::Opcode</a>, <a class="el" href="group__xilsfl.html#gad0719815f6ede45c39a438ac3165ddbe">XSfl_Msg::Proto</a>, <a class="el" href="group__xilsfl.html#ga9cf6ea17dbe8ad48845b03e6591435ff">XSfl_Msg::RxBfrPtr</a>, <a class="el" href="group__xilsfl.html#ga5d0c450d24cd4a45386ee599c73b041b">XSfl_CntrlInfo::SdrDdrMode</a>, <a class="el" href="group__xilsfl.html#gaf6fcc947f54fa33e7d30718c13e3fef8">XSfl_Interface::SflFlashInfo</a>, <a class="el" href="group__xilsfl.html#ga9bd49b340366873d2eab07540b3fdb24">XSfl_CntrlInfo::Transfer</a>, and <a class="el" href="group__xilsfl.html#ga969f1c20ce715974afed66a0f96cc8fb">XSfl_Msg::TxBfrPtr</a>.</p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gab1ba16e9c7b118d9436d779c254916ca">XSfl_FlashEnterExit4BAddMode()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, and <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>.</p>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="gac1c48155b607da578d432d697249e702"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_Msg::Addr</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Device Address. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga17743aa6d48afbdf0f60beb7eb061aa8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_Msg::Addrsize</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of address in bytes. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga65bb1fd23521f30fc4336541acf5dc84"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_FlashInfo::AddrSize</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Size of address in bytes. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, and <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>.</p>

</div>
</div>
<a class="anchor" id="gac9e0ab7a825b0814d87e950abd5beee3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_Msg::Addrvalid</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>1 if Address is required for opcode, 0 otherwise </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga97427cb9e16fcbc7bb3d6123d8b5c7cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_UserConfig::Ospi_Conig::BaseAddress</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Base address of the device. </p>

</div>
</div>
<a class="anchor" id="ga9213857622e5305c1fa626fd922ef4de"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_CntrlInfo::BusWidth</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bus width available on board. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, and <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>.</p>

</div>
</div>
<a class="anchor" id="ga0aaf9cdfa888bb10e62abbc77feea088"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_Msg::ByteCount</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of bytes to read or write. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5f67e619e340c591632091db200a588a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_UserConfig::Ospi_Conig::ChipSelect</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Chip select information. </p>

</div>
</div>
<a class="anchor" id="ga80c8f73ea1e75741aa26deb7a37e672e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_CntrlInfo::ChipSelectNum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Chip select information. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>.</p>

</div>
</div>
<a class="anchor" id="gac82ef8bb1b4d6639ed17518cdfc6e395"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_sfl___cntrl_info.html">XSfl_CntrlInfo</a> XSfl_Interface::CntrlInfo</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Controller specific information. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab1ba16e9c7b118d9436d779c254916ca">XSfl_FlashEnterExit4BAddMode()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>, <a class="el" href="group__xilsfl.html#ga13d18f695b6fbba7a9c799d6f036cb05">XSfl_FlashTransferDone()</a>, <a class="el" href="group__xilsfl.html#ga5db7bb11b2fc937b06a37b5e0e4b29a7">XSfl_GetRealAddr()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="gad2b4233a4484e6936c81604d18d72842"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_CntrlInfo::CntrlType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type of the interface controller. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga2b1fed97e76cc47f847b4474c16bed1d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_FlashInfo::ConnectionMode</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Type of connection (single/stacked/parallel) </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gab1ba16e9c7b118d9436d779c254916ca">XSfl_FlashEnterExit4BAddMode()</a>, <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>, and <a class="el" href="group__xilsfl.html#ga5db7bb11b2fc937b06a37b5e0e4b29a7">XSfl_GetRealAddr()</a>.</p>

</div>
</div>
<a class="anchor" id="gaca9d4c05b1c7cd749f4b3c36f444e721"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_CntrlInfo::DeviceId</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ID of controller device. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga7ca3bd52694e8e1c1b2634b8a046f296"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32* XSfl_CntrlInfo::DeviceIdData</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Contains Device Id Data information. </p>
<ul>
<li>Is used for configuring SDR/DDR mode </li>
</ul>

<p>Referenced by <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>.</p>

</div>
</div>
<a class="anchor" id="gaffec8c86f0cf87f0a2fcf1480690a3de"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32(* XSfl_CntrlInfo::DeviceReset)(u8 Type)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback reference for Device reset. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga43eded5844e9e26ae779ea9517d94da3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_Msg::DualByteOpCode</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extended opcode in dual-byte opcode mode. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga68fa3b7667ab72139e2e6872bca2c614"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_Msg::Dummy</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Number of dummy cycles for opcode. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga64143914205edd0597624a36ae2441a3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XFlashInfo::ExtOpCodeType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Extended opcode in dual-byte opcode mode. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>.</p>

</div>
</div>
<a class="anchor" id="ga65accbdd9e7b1d41ddfeffdd7e530079"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_FlashInfo::FlashIndex</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Index in the flash_info structure. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab1ba16e9c7b118d9436d779c254916ca">XSfl_FlashEnterExit4BAddMode()</a>, <a class="el" href="group__xilsfl.html#ga2dc535e80a4fa46f52380b8ece695826">XSfl_FlashGetInfo()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>, <a class="el" href="group__xilsfl.html#ga5db7bb11b2fc937b06a37b5e0e4b29a7">XSfl_GetRealAddr()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga86974e7a9e8f166bb84cba62ceb577d6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_FlashInfo::FlashMake</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>vendor info </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gab1ba16e9c7b118d9436d779c254916ca">XSfl_FlashEnterExit4BAddMode()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, and <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>.</p>

</div>
</div>
<a class="anchor" id="ga088f114969ecee72f82ee807c25adcfb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XFlashInfo::FlashType</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Indicates the type of the flash device. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gab1ba16e9c7b118d9436d779c254916ca">XSfl_FlashEnterExit4BAddMode()</a>, <a class="el" href="group__xilsfl.html#ga2dc535e80a4fa46f52380b8ece695826">XSfl_FlashGetInfo()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>, and <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>.</p>

</div>
</div>
<a class="anchor" id="gad8b7dcd605ed15ee80295dbe7278438c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XFlashInfo::FSRFlag</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Indicates Flag Status Register. </p>

</div>
</div>
<a class="anchor" id="gae2fd5b368e65be45fcb1cb25e75724c2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32(* XSfl_CntrlInfo::NonBlockingTransfer)(u8 Index, <a class="el" href="struct_x_sfl___msg.html">XSfl_Msg</a> *SflMsg)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback reference for interface non blocking transfer function. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>.</p>

</div>
</div>
<a class="anchor" id="gae9b81ed42e5d9d188dcb7ca2e3b930d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_Msg::Opcode</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Opcode/Command. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga271fefe6ac78f6570cd0ef022062fce8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_CntrlInfo::OpMode</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operating Mode DAC or INDAC. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, and <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>.</p>

</div>
</div>
<a class="anchor" id="ga6fed439badd48ed2aa4d51f431a1d627"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XFlashInfo::Proto</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Indicate number of Cmd-Addr-Data lines. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, and <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>.</p>

</div>
</div>
<a class="anchor" id="gad0719815f6ede45c39a438ac3165ddbe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_Msg::Proto</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Indicate number of Cmd-Addr-Data lines. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga63eff4dd6fc25bcc1519051e1ab61f50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_Interface::Quirks</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Quirks to handle specific use cases. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, and <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>.</p>

</div>
</div>
<a class="anchor" id="ga230dd8d5024d6fe7d75759d0198477d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_UserConfig::Ospi_Conig::Quirks</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Quirks to handle specific use cases. </p>

</div>
</div>
<a class="anchor" id="gaadf09ce84208bf8485a1e8c9a1ccb6d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_UserConfig::Ospi_Conig::ReadMode</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Operating Mode DAC or INDAC. </p>

</div>
</div>
<a class="anchor" id="gac2428febb31ae963321941405c4b7a2a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XSfl_CntrlInfo::RefClockHz</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Input clock frequency. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga857e87a3ce1d3539abd1a4c485ace65a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u64 XSfl_Msg::RxAddr64bit</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Provide 64-bit read address for 32-bit platform. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, and <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9cf6ea17dbe8ad48845b03e6591435ff"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8* XSfl_Msg::RxBfrPtr</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Read buffer pointer. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="gaac58f833e6012a03cb303d50c5dec71c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32(* XSfl_CntrlInfo::RxTunning)()</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback reference for Rx tuning. </p>

</div>
</div>
<a class="anchor" id="ga5d0c450d24cd4a45386ee599c73b041b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_CntrlInfo::SdrDdrMode</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Edge mode can be SDR or DDR. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga588462fc977e39765295b5b172059935"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XFlashInfo::SdrMaxFreq</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Max support frequency of flash in SDR mode. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>.</p>

</div>
</div>
<a class="anchor" id="ga3653d9517685c0f1dc44381e7aa838d4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32(* XSfl_CntrlInfo::SelectFlash)(u8 ChipSelNum)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback reference for chip select. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gab1ba16e9c7b118d9436d779c254916ca">XSfl_FlashEnterExit4BAddMode()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>, and <a class="el" href="group__xilsfl.html#ga5db7bb11b2fc937b06a37b5e0e4b29a7">XSfl_GetRealAddr()</a>.</p>

</div>
</div>
<a class="anchor" id="gaa38215973879979802977ce95a4fd17e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32(* XSfl_CntrlInfo::SetSdrDdr)(u8 Mode, u8 DualByteOpCode)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback reference for controller configs. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>.</p>

</div>
</div>
<a class="anchor" id="gaf6fcc947f54fa33e7d30718c13e3fef8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="struct_x_sfl___flash_info.html">XSfl_FlashInfo</a> XSfl_Interface::SflFlashInfo</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Flash Specific information. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab1ba16e9c7b118d9436d779c254916ca">XSfl_FlashEnterExit4BAddMode()</a>, <a class="el" href="group__xilsfl.html#ga49eeaf1569748d56e0fa1742a50ee291">XSfl_FlashErase()</a>, <a class="el" href="group__xilsfl.html#ga2dc535e80a4fa46f52380b8ece695826">XSfl_FlashGetInfo()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga91e56d8af1dd4e5d1b5d614be6b123ec">XSfl_FlashInit()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gaef8179e349f43448cf7a3d7b061b1408">XSfl_FlashSetSDRDDRMode()</a>, <a class="el" href="group__xilsfl.html#ga826c63730a917b8de42d41d634a1b30f">XSfl_FlashWrite()</a>, <a class="el" href="group__xilsfl.html#ga5db7bb11b2fc937b06a37b5e0e4b29a7">XSfl_GetRealAddr()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga9bd49b340366873d2eab07540b3fdb24"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32(* XSfl_CntrlInfo::Transfer)(u8 Index, <a class="el" href="struct_x_sfl___msg.html">XSfl_Msg</a> *SflMsg)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback reference for interface transfer function. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga89e6763341befc1eeb12d3e057cba16c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32(* XSfl_CntrlInfo::TransferDone)(u8 Index)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Callback reference for flash read status. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, and <a class="el" href="group__xilsfl.html#ga13d18f695b6fbba7a9c799d6f036cb05">XSfl_FlashTransferDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga969f1c20ce715974afed66a0f96cc8fb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8* XSfl_Msg::TxBfrPtr</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Write buffer pointer. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#gae7d287a9ac84fa27612bfe2104d91819">XSfl_FlashCmdTransfer()</a>, <a class="el" href="group__xilsfl.html#gab3c547fa045d3b91a7c0d6c3a16f6fc1">XSfl_FlashIdRead()</a>, <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, <a class="el" href="group__xilsfl.html#gac66a63ff325a29a34bb794facae9532e">XSfl_FlashPageWrite()</a>, <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>, <a class="el" href="group__xilsfl.html#gad43f7ae3c8e3ec11631b4a3e9443abcd">XSfl_FlashRegisterReadWrite()</a>, <a class="el" href="group__xilsfl.html#gadf862581219f7242e0affc2f270c82c2">XSfl_SectorErase()</a>, and <a class="el" href="group__xilsfl.html#ga93a864b058c078efaa24b42110a616b0">XSfl_WaitforStatusDone()</a>.</p>

</div>
</div>
<a class="anchor" id="ga5cb4882d5fd9d67c8061759327734df9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XSfl_Msg::Xfer64bit</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set to 1 when reading from 64-bit addr otherwise 0. </p>

<p>Referenced by <a class="el" href="group__xilsfl.html#ga8c62ceb6e67539fb6d9a3ebe110dd1b3">XSfl_FlashNonBlockingReadProcess()</a>, and <a class="el" href="group__xilsfl.html#ga665675fe0b9996bed72aaca43f801e89">XSfl_FlashReadProcess()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
